Some military applications currently use unmanned vehicles, both ground vehicles and airborne vehicles, for various missions. In remote teleoperation of unmanned ground vehicles (UGVs) an operator may use a joystick to point sensors and steer the vehicle. For instance, a software process running on the UGV may receive Radio Frequency (RF) signals over the air containing joystick position samples. These samples are passed to other processes running on the UGV.
Further, the operating system on which the software implementation is hosted may not be a real time operating system (RTOS). In such case, the operating system preemption may cause a non-deterministic delay in the production of output samples (where the delay can be positive or negative). In addition, if the input samples are received over a radio link, the competition for access to the radio channel by other services can delay the input samples, resulting in an uneven or bursty receipt of input samples.
Thus, in one example, a non-RTOS runs an application that provides output samples at a frequency Fout. The software program is set to send an output sample at time 1 and then to wait 1/Fout to send the next sample. After sending the next sample, it waits another 1/Fout, and so on. However, because the operating system is a non-RTOS, there may be a non-deterministic delay for a given sample. Also, because the system attempts to send a next sample by waiting another Fout relative to a previous sample, delays tend to be cumulative over multiple samples. Such behavior may appear as uneven or bursty responses by the UGV.